/**
 * 
 */
package com.xbang.core.utils;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

import org.apache.struts2.ServletActionContext;

/**
 * @author dev.zhang
 * 
 */
public class FileUtils {

	/**
	 * 导入文件
	 * 
	 * @param sourceFile
	 *            原始文件
	 * @param indentRoot
	 *            目标文件路径
	 * @param sourceFileName
	 *            原始文件名称
	 * @param indentFileName
	 *            目标文件名称
	 * @param isReplace
	 *            是否替换
	 * @return
	 * @throws Exception
	 */
	public static File uploadFile(File sourceFile, String indentRoot, String sourceFileName, String indentFileName, boolean isReplace) throws Exception {
		InputStream is = new FileInputStream(sourceFile);
		File indentFile = null;
		if (isReplace) {
			indentFile = new File(indentRoot, indentFileName);
		} else {
			indentFile = new File(indentRoot, sourceFileName);
		}
		OutputStream os = new FileOutputStream(indentFile);
		byte[] buffer = new byte[1024];
		int length;
		while ((length = is.read(buffer)) > 0) {
			os.write(buffer, 0, length);
		}
		is.close();
		os.close();

		return indentFile;
	}
}
